#ifndef __ming_fyp_render_RenderedTexture_h__
#define __ming_fyp_render_RenderedTexture_h__

//------------------------------------------------------------------------------
// header includes
#include "fyp/render/Texture.h"

//------------------------------------------------------------------------------
namespace ming
{
namespace fyp
{
namespace render
{
	//--------------------------------------------------------------------------
	class IRenderedTexture : public ITexture
	{
	public:
		virtual ~IRenderedTexture() {}

		enum FORMAT
		{
			INT5_RGB,
			INT5_XRGB,
			INT5_ARGB,

			INT8_ARGB,
			INT8_XRGB,

			INT16_ABGR,
			INT16_GR,

			FLOAT16_ABGR,
			FLOAT16_GR,
			FLOAT16_R,

			FLOAT32_ABGR,
			FLOAT32_GR,
			FLOAT32_R,
		};
		
		//------------------------------
		// external operations
		virtual tuple<size_t, size_t> GetLogicalSize() = 0;
		virtual void* GetApiRenderTarget() = 0;
		virtual void* GetApiDepthBuffer() = 0;
	};
	
	//--------------------------------------------------------------------------
}
}
}


#endif	//__ming_fyp_render_RenderedTexture_h__